home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / text / mac / faqs.264 < prev    next >
Lisp/Scheme  |  1996-02-12  |  28KB  |  614 lines

  1. Frequently Asked Questions (FAQS);faqs.264
  2.  
  3.  
  4.  
  5.   The next two cases are problems even if there is a initialization file for
  6.   your terminal type.
  7.  
  8.   2. The initialization file for your terminal doesn't bind arrow keys.
  9.  
  10.      If your terminal type is `xterm', you will have to bind the arrow keys
  11.      as in part 1 above, since the xterm.el file doesn't do anything useful.
  12.      There may be other terminal types with the same problem.
  13.  
  14.   3. Your terminal's arrow keys send individual control characters.
  15.  
  16.      For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l.
  17.  
  18.      There is not much Emacs can do in this situation, since all the control
  19.      characters except for C-^ and C-\ are already used as Emacs commands.
  20.      It may be possible to convince the terminal to send something else when
  21.      you press the arrow keys; it is worth investigating.
  22.  
  23.      You have to make the hard choices of how to rebind keys to commands to
  24.      make things work the way you want.  Another alternative is to start
  25.      learning the standard Emacs keybindings for moving point around: C-b,
  26.      C-f, C-p, and C-n.  Personally, I no longer use the arrow keys when
  27.      editing because I have switched keyboards so many times.
  28.  
  29.   4. Your terminal's arrow keys send sequences beginning with "ESC [".
  30.  
  31.      Due to an extremely poor design decision (ie., these sequences are ANSI
  32.      standard), none of the the terminal-specific initialization files that
  33.      are distributed with Emacs will bind these character sequences to the
  34.      appropriate commands by default.  (This also applies to any other
  35.      function keys which generate character sequences starting with "ESC
  36.      [".)  This is because it was deemed far more important to preserve the
  37.      binding of M-[ to the backward-paragraph command.  It appears that this
  38.      will change in Emacs 19.
  39.  
  40.      Some of the terminal-specific initialization files that come with Emacs
  41.      provide a command enable-arrow-keys that will fix this problem.  To get
  42.      this automatically invoked, put this in your .emacs:
  43.  
  44.        (setq term-setup-hook
  45.          (function
  46.           (lambda ()
  47.         (if (fboundp 'enable-arrow-keys) (enable-arrow-keys)))))
  48.  
  49.      We put this in our lisp/default.el file, so users don't have to worry
  50.      about it:
  51.  
  52.        ;; don't override a user's term-setup-hook
  53.        (or term-setup-hook
  54.        (setq term-setup-hook
  55.          (function
  56.           (lambda ()
  57.             (and (fboundp 'enable-arrow-keys)
  58.              ;; don't override a user key mapping
  59.              (eq 'backward-paragraph (lookup-key esc-map "["))
  60.              (enable-arrow-keys))))))
  61.  
  62.      If your terminal type is `sun', you should put this in your .emacs
  63.      instead (or in addition to the above):
  64.  
  65.        (setq sun-esc-bracket t)
  66.  
  67.      It is possible that the terminal-specific initialization file for your
  68.      terminal type was written locally and does not follow the rule
  69.      mentioned above.  In this case you may need to inspect it to find out
  70.      how to enable the arrow keys.  (Actually, if it was written locally, it
  71.      probably enables the arrow keys by default.)
  72.  
  73. 136: How do I "swap" two keys?
  74.  
  75.   When Emacs receives a character, you can make Emacs behave as though it
  76.   received another character by setting the value of
  77.   keyboard-translate-table.  The following Emacs Lisp will do this for you,
  78.   allowing you to "swap" keys.  After arranging for this Lisp to be
  79.   evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B.
  80.  
  81.     (defun swap-keys (key1 key2)
  82.       "Swap keys KEY1 and KEY2 using map-key."
  83.       (map-key key1 key2)
  84.       (map-key key2 key1))
  85.  
  86.     (defun map-key (from to)
  87.       "Make key FROM behave as though key TO was typed instead."
  88.       (setq keyboard-translate-table
  89.         (concat keyboard-translate-table
  90.             (let* ((i (length keyboard-translate-table))
  91.                (j from)
  92.                (k i)
  93.                (str (make-string (max 0 (- j (1- i))) ?X)))
  94.               (while (<= k j)
  95.             (aset str (- k i) k)
  96.             (setq k (1+ k)))
  97.               str)))
  98.       (aset keyboard-translate-table from to)
  99.       (let ((i (1- (length keyboard-translate-table))))
  100.     (while (and (>= i 0) (eq (aref keyboard-translate-table i) i))
  101.       (setq i (1- i)))
  102.     (setq keyboard-translate-table
  103.           (if (eq i -1)
  104.           nil
  105.         (substring keyboard-translate-table 0 (1+ i))))))
  106.  
  107.   NOTE: You must evaluate the definition of these functions before calling
  108.   them!  For example, list the function definitions before their use in your
  109.   .emacs file.
  110.  
  111.   NOTE: These functions take two numbers as arguments.  The example above,
  112.   `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is
  113.   merely notation for 65, the ASCII value of `A'.
  114.  
  115.   NOTE: These functions only work for single characters.  You cannot swap
  116.   two multi-character sequences.
  117.  
  118. 137: How do I produce C-XXX with my keyboard?
  119.  
  120.   For C-@ and C-^, often you can just type Control-2 and Control-6.  For
  121.   C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen.
  122.   C-@ can often be generated by typing Control-Space.  C-@ is often called
  123.   the NUL character, and has ASCII value 0.  C-_ can often be generated by
  124.   typing Control-7 or Control-/.  C-? (aka DEL) may be generated by typing
  125.   Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del.
  126.  
  127.   Try Control with all of the digits on your keyboard to see what gets
  128.   generated.
  129.  
  130. 138: What if I don't have a Meta key?
  131.  
  132.   Instead of typing M-a, you can type "ESC a" instead.  In fact, Emacs
  133.   converts M-a internally into "ESC a" anyway (depending on the value of
  134.   meta-prefix-char).
  135.  
  136. 139: What if I don't have an Escape key?
  137.  
  138.   Type C-[ instead.  This should send ASCII code 27 just like an Escape
  139.   key would.  Try also C-;.
  140.  
  141. 140: How do I type DEL on PC terminal emulators?
  142.  
  143.   Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is
  144.   this true?}.  Those that do generally have it in an inconvenient location.
  145.   (Also, in some terminal emulators, the `Del' key does not transmit DEL.)
  146.   The result is the standard "BackSpace invoking help" problem (see question
  147.   133).
  148.  
  149.   The usual solution, suggested by Michael Covington
  150.   <mcovingt@aisun1.ai.uga.edu>, is to somehow tell the terminal emulator
  151.   program that BackSpace should transmit DEL.  Read the program's manual.
  152.   Shift-BackSpace or Control-BackSpace may send DEL.  The `Del' key may only
  153.   send DEL if the NumLock key hasn't been pressed.
  154.  
  155. 141: Can I make my `Compose Character' key behave like a Meta key?
  156.  
  157.   On a dumb terminal such as a VT220, no.  It is rumored that certain VT220
  158.   clones could have their Compose key configured this way.  If you're using
  159.   X, you might be able to do this with the `xmodmap' program (this is
  160.   what I do).
  161.  
  162. 142: How do I bind a combination of modifier key and function key?
  163.  
  164.   Unless you're using Emacs under emacstool (or xvetool?), have a working    !
  165.   version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid   +
  166.   Emacs), you can't do this with Emacs alone.                                +
  167.  
  168.   If you are using emacstool, Emacs sees different character sequences for
  169.   the combination of a modifier and a function key from what it sees for the
  170.   function key alone.  See etc/emacstool.1 for more information.  Since
  171.   Emacs sees different character sequences, you can bind these different
  172.   sequences to different commands.
  173.  
  174.   If you are running Emacs inside a terminal emulator window like xterm, you
  175.   can modify its translation tables to make it generate different character
  176.   sequences for the combination of a modifier and a function key.  For
  177.   example, this X resource setting:
  178.  
  179.     XTerm.VT100.Translations: #override \
  180.       Shift<KeyPress>F1: string(0x1b) string("[xyzzy")
  181.  
  182.   makes Shift-F1 generate the character sequence "ESC [ xyzzy".  You can
  183.   bind these character sequences in Emacs as normal.  Nick Ruprecht
  184.   <ruprecht@informatik.uni-freiburg.de> has written an extensive X
  185.   translation mapping for xterm that does this.  {Does this have an FTP
  186.   site?}
  187.  
  188.   If you have x-rebind-key, you can have any arbitrary combination of        +
  189.   modifiers with a key replaced by any sequence of "normal" characters.  For +
  190.   example, this makes Shift-Return behave as though you had typed "C-x C-e"  +
  191.   (example from Jerry Graves):                                               +
  192.                                                                              +
  193.     (x-rebind-key "Return" 'shift "\C-x\C-e")                                +
  194.                                                                              +
  195.   In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example +
  196.   from Jamie Zawinski):                                                      +
  197.                                                                              +
  198.     (global-set-key '(meta left) 'backward-word)                             +
  199.                                                                              +
  200.   With the last two methods, use `xmodmap' and `xev' to discover the keysym  +
  201.   and modifier names.                                                        +
  202.  
  203. 143: Why doesn't my Meta key work in an xterm window?
  204.  
  205.   Try all of these methods before asking for further help:
  206.  
  207.   * You may have big problems using `mwm' as your window manager.  {Does
  208.     anyone know a good generic solution to allow the use of the Meta key in
  209.     Emacs with mwm?}
  210.  
  211.   * For X11R4: Make sure it really is a Meta key.  Use `xev' to find out
  212.     what keysym your Meta key generates.  It should be either Meta_L or
  213.     Meta_R.  If it isn't, use xmodmap to fix the situation.
  214.  
  215.   * Make sure the pty the xterm is using is passing 8 bit characters.
  216.     `stty -a' (or `stty everything') should show `cs8' somewhere.  If it
  217.     shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix
  218.     it.
  219.  
  220.   * If there is an rlogin connection between the xterm and the Emacs, the
  221.     `-8' argument may need to be given to rlogin to make it pass all 8
  222.     bits of every character.
  223.  
  224.   * If the Emacs is running under Ultrix, it is reported that evaluating
  225.     (set-input-mode t nil) helps.
  226.  
  227.   * If all else fails, you can make xterm generate "ESC W" when you type
  228.     M-W, which is the same conversion Emacs would make if it got the M-W
  229.     anyway.  In X11R4, the following resource specification will do this:
  230.  
  231.       XTerm.VT100.EightBitInput: false
  232.  
  233.     (This changes the behavior of the insert-eight-bit action.)
  234.  
  235.     With older xterms, you can specify this behavior with a translation:
  236.  
  237.       XTerm.VT100.Translations: #override \
  238.         Meta<KeyPress>: string(0x1b) insert()
  239.  
  240.     You might have to replace `Meta' with `Alt'.
  241.  
  242. 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
  243.  
  244.   This is a result of an internationalization extension in X11R4 and the
  245.   fact that HP is now using this extension.  Emacs assumes that
  246.   XLookupString returns the same result regardless of the Meta key state
  247.   which is no longer necessarily true.  Until Emacs is fixed, the temporary
  248.   kludge is to run this command after each time the X server is started but
  249.   preferably before any xterm clients are:
  250.  
  251.     xmodmap -e 'remove mod1 = Mode_switch'
  252.  
  253.   NOTE:  This will disable the use of the extra keysyms systemwide, which
  254.   may be undesirable if you actually intend to use them.
  255.  
  256. 145: Where can I get key bindings to make Emacs emulate WordStar?
  257.  
  258.   There is a package `wordstar' by Jim Frost <jimf@saber.com> and
  259.   `ws-mode.el' by Juergen Nickelsen <nickel@cs.tu-berlin.de>.  Check in the
  260.   Emacs Lisp Archive (see question 89).
  261.  
  262. 146: Where can I get an XEDIT emulator for Emacs?
  263.  
  264.   This question comes up once every couple of months.  I have never seen a
  265.   positive reply, so I presume no one has ever written one.
  266.  
  267.  
  268.  
  269. Using Emacs with Alternate Character Sets
  270.  
  271. 147: How do I make Emacs display 8-bit characters?
  272.  
  273.   There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to
  274.   display characters with codes from 128 to 255.  {The original appears to
  275.   have been by Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} Partially based
  276.   on Johan Widen's earlier work, Johan Vromans <jv@mh.nl> has updated this
  277.   patch for Emacs 18.58 along with some other 8-bit improvements.
  278.  
  279.   Anonymous FTP:
  280.     /ftp.eu.net:gnu/emacs/FP-EightBit.Z                                      +
  281.     /ftp.urc.tue.nl:pub/tex/emacs/FP-EightBit                                +
  282.     /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57              +
  283.     /sics.se:archive/emacs-18.55-8bit-diff                                   +
  284.     /laas.laas.fr:pub/emacs/patch-8bit-18.55                                 !
  285.     /laas.laas.fr:pub/emacs/patch-8bit-18.57                                 !
  286.  
  287.   Via e-mail:
  288.     To: mail-server@sics.se
  289.     body: send emacs-18.55-8bit-diff
  290.  
  291.   Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive
  292.   patch for Emacs 18.57 that allows for 8-bit input and output.
  293.  
  294.   Anonymous FTP:
  295.     /sics.se:archive/emacs-8bit-diff-lth                                     +
  296.     /gatekeeper.dec.com:pub/GNU/DS-emacs-18.57-8bit-diff-lth                 +
  297.  
  298.   The most comprehensive patches for 8-bit output are by Howard Gayle
  299.   (originally for Emacs 18.55.  These patches allow displaying any arbitrary
  300.   string for a given 8-bit character (except TAB and C-j).  Also supported
  301.   is defining the sorting order and the uppercase and lowercase
  302.   translations.  It is reported that the 8-bit character support in Emacs 19
  303.   is largely based on these patches.  Thomas Bellman
  304.   <Bellman@lysator.liu.se> has updated these patches for Emacs 18.57.
  305.  
  306.   Anonymous FTP:
  307.     /sics.se:archive/emacs-gayle.tar.Z  (patches for 18.55)                  +
  308.     /ftp.lysator.liu.se:pub/emacs/gayle-18.57.diff.tar.Z  (patches)          +
  309.     /ftp.lysator.liu.se:pub/emacs/emacs-18.57-gayle.tar.Z  (patched Emacs)   +
  310.  
  311.   I am not sure if Epoch can display 8-bit characters as is.  Lucid Emacs
  312.   has the ctl-arrow patch installed.  Nemacs displays 8-bit characters, and
  313.   it may be useful for displaying the 8-bit ISO-8859 alphabet, but I don't
  314.   know for sure (see question 149).
  315.  
  316. 148: How do I input 8-bit characters?
  317.  
  318.   Minor modes for ISO Latin-1 that allow one to easily input this character
  319.   set have been written by several people.  Such modes have been written by
  320.   Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el),
  321.   Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro
  322.   <shapiro@sor.inria.fr> {FTP site??}.
  323.  
  324.   These approaches differ from the one taken by Anders Edenbrandt in that
  325.   his method uses direct 8-bit input, while these methods use a compose
  326.   sequence for 8-bit characters.  {I have heard conflicting reports on
  327.   whether this results in losing the Meta key.  Perhaps this depends on
  328.   whether Emacs is running under X.  Can someone resolve this?}
  329.  
  330.   Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow
  331.   8-bit input.  Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com> also has a
  332.   patch for either 18.57 or 18.58 that allows 8-bit input.
  333.  
  334.   Epoch comes with a patch that allows it to input 8-bit characters, but it
  335.   is not enabled by default.  {Is this right?}
  336.  
  337.   Jamie Zawinski says:                                                       +
  338.                                                                              +
  339.     Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your     +
  340.     keyboard generates (see xmodmap), and contains a package that implements +
  341.     a DEC/OpenWindows-like "Compose" key for systems which don't have one.   +
  342.  
  343. 149: Where can I get an Emacs that can handle kanji characters?
  344.  
  345.   Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55
  346.   that handles kanji characters.  It is available via anonymous FTP:         !
  347.                                                                              !
  348.     /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z                                !
  349.     /uhccux.uhcc.hawaii.edu:editors/Nemacs-3.3.2/                            !
  350.     /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z                    !
  351.  
  352.   You might also need files for "wnn", a kanji input method
  353.   (wnn-4.0.3{-README,.tar.Z} {on which machine?}).  You need a terminal (or
  354.   terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC
  355.   (Extended Unix Code), or the ability to run Nemacs as a direct X Window
  356.   client.
  357.  
  358. 150: Where can I get an Emacs that can handle Chinese?
  359.  
  360.   `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs
  361.   18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with
  362.   Cxterm allows using Chinese characters.  It is available via anonymous
  363.   FTP:                                                                       !
  364.                                                                              !
  365.     /crl.nmsu.edu:pub/chinese/cemacs.tar.Z                                   !
  366.     /cs.purdue.edu:pub/ygz/cemacs.tar.Z                                      !
  367.  
  368.   Cxterm is available from the same place:                                   !
  369.                                                                              !
  370.     /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z                               !
  371.  
  372. 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
  373.  
  374.   Joel M. Hoffman <joel@wam.umd.edu> writes:
  375.  
  376.     A couple of years ago a wrote a hebrew.el file that allows right-to-left
  377.     editing of Hebrew.  I relied on the hardware to display the Hebrew
  378.     letters, given the right codes, but not for any right-to-left support;
  379.     the hardware also doesn't have to send any specific char. codes.  Emacs
  380.     keeps track of when the user is typing Hebrew vs. English.  (The VT-*
  381.     terminals in Israel contain built-in support for Hebrew.)
  382.  
  383.     To get it to work I had to modify only a few lines of GNU Emacs's source
  384.     code --- just enough to make it 8-bit clean.
  385.  
  386.     [and in a separate message:]
  387.  
  388.     It doesn't produce time-order ["sefer" format] (I wouldn't recommend
  389.     trying that with emacs, because converting time-order to screen-order
  390.     with arbitrarily long lines is a bit tricky), but I also concocted a
  391.     quick filter to convert screen-order into time-order.  I'll be happy to
  392.     send you the requisite files if you want them.  If you're using it for
  393.     anything large, however, you'll want something that works better.
  394.  
  395.   Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like"
  396.   editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional
  397.   Editor).  Ibelbe is written in Turbo Pascal and comes with source code.
  398.   Here is the description:
  399.  
  400.     Ibelbe looks like emacs (it even has a minibuffer and filename
  401.     completion), and fully supports both right-to-left and left-to-right
  402.     editing.  Other than an EGA monitor or better, no special hardware is
  403.     required.  You will need an EGA Hebrew font to use Ibelbe with Hebrew.
  404.  
  405.   Anonymous FTP:
  406.     /israel.nysernet.org:israel/msdos/ibelbe.zip                             !
  407.     /israel.nysernet.org:israel/msdos/hebfont.zip                            !
  408.  
  409.   Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written
  410.   patches for Emacs 18.55 and 18.58 that provide Semitic language support
  411.   under X Windows.
  412.  
  413.   Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by
  414.   modifying self-insert-command "for Hebrew input on 7-bit keyboards".
  415.  
  416.   A good suggestion is to query archie for files named with `hebrew'.
  417.  
  418. Xref: bloom-picayune.mit.edu gnu.emacs.help:7403 comp.emacs:15252 gnu.emacs.gnus:2879 news.answers:3117
  419. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!snorkelwacker.mit.edu!eff!sol.ctr.columbia.edu!spool.mu.edu!hri.com!noc.near.net!news.bbn.com!bu.edu!bigbird!jbw
  420. From: jbw@bigbird.bu.edu (Joe Wells)
  421. Newsgroups: gnu.emacs.help,comp.emacs,gnu.emacs.gnus,news.answers
  422. Subject: GNU Emacs FAQ (5/5, 152-177): Mail and News
  423. Summary: READ BEFORE POSTING.  A regularly posted list of answers to frequently
  424.          asked questions (FAQs) about GNU Emacs and many Emacs Lisp programs.
  425.          Contains pointers to other resources.  Follow "References:" link for
  426.          more metainfo.
  427. Keywords: gnu emacs faq answers frequently asked questions periodic
  428. Message-ID: <GNU-Emacs-FAQ-5.1992.09.22.011020@bigbird.bu.edu>
  429. Date: 22 Sep 92 01:10:20 GMT
  430. Expires: 21 Nov 92 01:10:20 GMT
  431. References: <GNU-Emacs-FAQ-0.1992.09.22.011020@bigbird.bu.edu>
  432. Sender: news@bu.edu
  433. Reply-To: gnu-emacs-faq-maintainers@bigbird.bu.edu
  434. Followup-To: poster
  435. Organization: GNU's Not UNIX
  436. Lines: 443
  437. Approved: news-answers-request@mit.edu
  438. Supersedes: <GNU-Emacs-FAQ-5.1992.06.28.234430@bigbird.bu.edu>
  439.  
  440. Archive-Name: GNU-Emacs-FAQ/part5
  441. Last-Modified: Tue, 22 Sep 1992 01:09:59 GMT
  442. Last-Posted: Tue, 22 Sep 1992 01:10:20 GMT
  443.  
  444.                        GNU Emacs FAQ: Mail and News
  445.  
  446. This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus'
  447. because many of the questions herein deal with GNUS.  See `gnu.emacs.help' for
  448. the rest of the FAQ list.
  449.  
  450. If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
  451. get an overview of just the questions.  Then, when you want to look at the text
  452. of the answers, just type "C-x $".
  453.  
  454. To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
  455. that doesn't work, then type ESC to end the search.
  456.  
  457. A `+' in the 78th column means something was inserted on the line.  A `-' means
  458. something was deleted and a `!' means some combination of insertions and
  459. deletions occurred.
  460.  
  461. Full instructions for getting the latest FAQ are in question 22.  Also see the
  462. `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
  463. e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
  464. WAIS, or Prospero to rtfm.mit.edu.
  465.  
  466.  
  467.  
  468. Mail and News
  469.  
  470. 152: How do I change the included text prefix in mail/news followups?
  471.  
  472.   Many people want Emacs to prefix included text with something like ` > '
  473.   instead of with three spaces.  One way is to change the code of the
  474.   function `mail-yank-original' in lisp/sendmail.el that prefixes with
  475.   spaces.  A more flexible solution is to use Supercite, which provides wide
  476.   configurability in how you format included text in replies.  See question
  477.   107.  Both of these solutions work for RMAIL and GNUS.
  478.  
  479.   A related problem is how to prevent Emacs from including various headers
  480.   of the replied-to message.  For this, you should set the value of
  481.   mail-yank-ignored-headers, which takes a regexp value.
  482.  
  483. 153: How do I save a copy of outgoing mail?
  484.  
  485.   Two methods:
  486.  
  487.   1. (setq mail-self-blind t) will result in a `BCC:' header line with your
  488.      address being added to mail composition buffers.  This will cause the
  489.      mail system to send a copy of the mail back to you.
  490.  
  491.   2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will
  492.      result in an `FCC:' header line with the pathname of ~/outgoing being
  493.      added to mail composition buffers.  When you send the mail, Emacs will
  494.      save a copy of the mail in the file ~/outgoing and then strip off the
  495.      `FCC:' line before actually sending.
  496.  
  497.      WARNING: There is a bug in Emacs 18.58 that prevents mail readers such
  498.      as RMAIL from reading the saved mail messages individually.  See
  499.      question 155.
  500.  
  501.      WARNING: If you are visiting the file ~/outgoing at the time you send
  502.      the mail, this can cause a variety of horrible problems.  Jamie         +
  503.      Zawinski has written a solution for this.                               +
  504.  
  505.   It does not work to put `set record filename' in the .mailrc file.
  506.  
  507. 154: Why doesn't Emacs expand my aliases when sending mail?
  508.  
  509.   * You must separate multiple addresses in the headers of the mail buffer
  510.     with commas.  This is because Emacs supports RFC822 standard addresses
  511.     like this one:
  512.  
  513.       To: Willy Smith <wks@xpnsv.lwyrs.com>
  514.  
  515.     However, you do not need to separate addresses with commas in your
  516.     .mailrc file.
  517.  
  518.     WARNING: Emacs breaks up aliases in the .mailrc file into multiple
  519.     addresses both on commas and on whitespace, regardless of any use of
  520.     quotes.  This is probably a bug.  You can get around this by directly
  521.     setting the value of mail-aliases.
  522.  
  523.   * Emacs normally only reads the `.mailrc' file once per session, when you
  524.     start to compose your first mail message.  If you edit .mailrc, you can
  525.     type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
  526.     (You have to include the parentheses where they are shown!)
  527.  
  528.   * Emacs does not interpret vendor-specific additions to the format of the
  529.     .mailrc file such as the `source' command.  It also ignores any `set'
  530.     commands.  The only commands it looks at are `alias' and `group'
  531.     commands.
  532.  
  533. 155: Why does RMAIL think all my saved messages are one big message?
  534.  
  535.   There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone
  536.   on the "From " line after the year instead of before the year.  (Before it
  537.   didn't add the timezone at all.)  This is incompatible with the standard
  538.   format for the "From " line, and RMAIL in particular can no longer
  539.   distinguish between the messages.  Karl Berry <karl@cs.umb.edu>, Felix Lee
  540.   <flee@cs.psu.edu>, Nick Gianniotis <nico@japan.sbi.com> and many
  541.   others have all posted patches for this.  Karl's is the simplest and just
  542.   stops Emacs from adding the timezone:
  543.  
  544.     >*** ./ORIG/sendmail.el    Tue Jan 28 16:22:56 1992
  545.     >--- ./sendmail.el    Thu May 14 18:23:48 1992
  546.     >***************
  547.     >*** 285,287 ****
  548.     >        (insert "\nFrom " (user-login-name) " "
  549.     >!           (current-time-string) " " timezone "\n")
  550.     >        (insert-buffer-substring rmailbuf)
  551.     >--- 285,287 ----
  552.     >        (insert "\nFrom " (user-login-name) " "
  553.     >!           (current-time-string) "\n")
  554.     >        (insert-buffer-substring rmailbuf)
  555.  
  556. 156: How can I sort the messages in my RMAIL folder?
  557.  
  558.   Use rmailsort.el by Masanobu Umeda.
  559.  
  560. 157: Why does RMAIL need to write to /usr/spool/mail?
  561.  
  562.   This is the behavior of the `movemail' program which RMAIL uses.  This
  563.   indicates that movemail is configured to use lock files.
  564.  
  565.   RMS writes:
  566.  
  567.     Certain systems require lock files to interlock access to mail files.
  568.     On these systems, movemail must write lock files, or you risk losing
  569.     mail.  You simply must arrange to let movemail write them.
  570.  
  571.     Other systems use the flock system call to interlock access.  On these
  572.     systems, you should configure movemail to use flock.
  573.  
  574. 158: How do I recover my mail files after RMAIL munges their format?
  575.  
  576.   Users who just want to try RMAIL out to see how it works end up trapped
  577.   using it because saved mail in their `mbox' file has been converted into
  578.   an incompatible format (BABYL) that only RMAIL understands.  RMAIL
  579.   provides no obvious way to reverse this transformation.  Kyle Jones has    +
  580.   aptly named this "the great Emacs Mail Eating Monster".  To convert a mail +
  581.   file back to standard Unix format, there are several methods:
  582.  
  583.   * Use the rmail-output ("C-o") command within RMAIL on each message in the
  584.     file.  First use M-x rmail or M-x rmail-input to visit the RMAIL file in
  585.     Rmail mode.  Type "1 j" to go to the first message.  Use the C-o command
  586.     to output the message to a Unix format file.  Type "n" to go to the next
  587.     message.  Repeat.
  588.  
  589.   * If the file contains hundreds of messages, you may not want to repeat
  590.     this for all of them.  Instead of the above, after getting to the first
  591.     message type this (where "mbox" is the file you want to put the messages
  592.     in):
  593.  
  594.       C-x ( C-o mbox RET M-s ^From: RET M-0 C-x )
  595.  
  596.     (The rmail-search command ("M-s") is used instead of just "n" because it
  597.     is the only command which will cause an error when it reaches the last
  598.     message in the file, which is necessary to terminate the keyboard macro.
  599.     This will fail if there are messages in the file that don't have a
  600.     `From:' header.  This assumes rmail-delete-after-output is nil.)
  601.  
  602.     It is wise to save a copy of the RMAIL file first, in case you make a
  603.     mistake.
  604.  
  605.   * There are software packages available for converting files or even
  606.     entire directories of BABYL files to standard Unix format.  These are
  607.     helpful in this situation, but are intended mainly for people who have
  608.     used RMAIL for a long time and are converting to some other mail reader.
  609.     Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see
  610.     question 89).
  611.  
  612.   You may wish to disable RMAIL to avoid accidentally destroying your mbox
  613.   file (I have this in my .emacs):
  614.